package com.xbongbong.saas.enums;

import com.xbongbong.saas.enums.business.ProductEnum;
import lombok.Getter;

import java.util.Objects;

/**
 * 父产品字段
 * @author haibin.zhang
 * @version v1.0
 * @date 2019/6/27 15:39
 * @since v1.0
 */
@Getter
public enum ParentProductFieldEnum {
    NAME(ProductEnum.NAME),
    PRODUCT_NO(ProductEnum.PRODUCT_NO),
    SUPPLIER(ProductEnum.SUPPLIER),
    UNIT(ProductEnum.UNIT),
    CATEGORY_ID(ProductEnum.CATEGORY_ID),
    PRODUCT_IMGS(ProductEnum.PRODUCT_IMGS),
    STOCK(ProductEnum.STOCK),
//    PRICE(ProductEnum.PRICE),
//    COST(ProductEnum.COST),
    ATTACHMENT(ProductEnum.ATTACHMENT),
    SUPPLIER_LINK_TEXT(ProductEnum.SUPPLIER_LINK_TEXT),
    PARENT_ID(ProductEnum.PARENT_ID),
    THUMBNAIL(ProductEnum.THUMBNAIL),
    ONLINE(ProductEnum.ONLINE),
    SHOW_PRICE(ProductEnum.SHOW_PRICE),
    SHOW_COST(ProductEnum.SHOW_COST),
    ORI_STOCK(ProductEnum.ORI_STOCK),
    IS_NOTIFY(ProductEnum.IS_NOTIFY),
    STOCK_UPPER_LIMIT(ProductEnum.STOCK_UPPER_LIMIT),
    STOCK_LOWER_LIMIT(ProductEnum.STOCK_LOWER_LIMIT),
    TEMP_STOCK(ProductEnum.TEMP_STOCK),
    CREATOR_ID(ProductEnum.CREATOR_ID),
    ADD_TIME(ProductEnum.ADD_TIME),
    UPDATE_TIME(ProductEnum.UPDATE_TIME),
    ;

    private ProductEnum productEnum;

    ParentProductFieldEnum(ProductEnum productEnum) {
        this.productEnum = productEnum;
    }

    public static boolean isParentField(String attr){
        for (ParentProductFieldEnum parentProductFieldEnum : ParentProductFieldEnum.values()){
            if (Objects.equals(attr,parentProductFieldEnum.productEnum.getAttr())){
                return true;
            }
        }
        return false;
    }
}
